﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using framework;

namespace aplicacao
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnCarregar_Click(object sender, EventArgs e)
        {
            if (fuExcel.HasFile)
            {
                string _path = @"C:\Temp\" + fuExcel.FileName;
                fuExcel.SaveAs(_path);
                carregaGrid(_path);
            }
        }

        private void carregaGrid(string path/* Caminho do arquivo xls */)
        {
            Excel _excel = new Excel(path);

            List<Pessoa> _lista = _excel.getTodos<Pessoa>(
                new Intervalo("Sheet1") { fim = "D" }, //Inicia na Célula A1 e vai até a coluna D, na aba Sheet1
                dados => //Método de montagem de Pessoas
                {
                    Pessoa _retorno = new Pessoa();
                    //...
                    _retorno.nome = dados.getValorCampo<string>("Nome");
                    _retorno.nascimento = dados.getValorCampo<DateTime>("Nascimento");
                    _retorno.email = dados.getValorCampo<string>("Email");
                    _retorno.filhos = dados.getValorCampo<int>("Filhos");
                    //...
                    return _retorno;
                }
            );

            gvListagem.DataSource = _lista;
            gvListagem.DataBind();
        }
    }
}